1 Barplot des communautés microbiennes

#fig.align='left', fig.width = 20, fig.height = 10
devtools::load_all("~/home-local-ssd/repository/ranomaly/")
# library(ranomaly)

load("~/home-local-ssd/projets/anomaly/tests/decontam_out/robjects.Rdata")

p1 = bars_fun2(data = data, Fact1 = "souche_temps", Ord1 = "souche_temps", rank="Genus", relative = FALSE, top = 20)

p2 = bars_fun2(data = data, Fact1 = "souche_temps", Ord1 = "souche_temps", rank="Genus", relative = TRUE, top = 20)

htmltools::tagList(list(p1, p2))

2 Alpha Diversité

2.1 Richesse spécifique

divAlpha = diversity_alpha_fun(data = data, output = "./plot_div_alpha/", column1 = "souche", column2 = "temps",
                    column3 = "", supcovs = "", measures = c("Observed") )
  • Table des indices de diversité
DT::datatable(divAlpha$alphatable, filter = "top")
  • Boxplot
ggplotly(divAlpha$plot) %>%
  layout(boxmode = "group")
  • ANOVA
divAlpha$anova
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## Depth        1     49      49   0.509 0.483774    
## souche       1   1877    1877  19.357 0.000276 ***
## temps        1   3649    3649  37.639 5.39e-06 ***
## Residuals   20   1939      97                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
  • Pairwise Wilcox Test p-value
divAlpha$wilcox
##             mutant_t0 mutant_t50 sauvage_t0
## mutant_t50      0.002         NA         NA
## sauvage_t0      0.377      0.005         NA
## sauvage_t50     0.336      0.002      0.008

2.2 Shannon index

  • Boxplot
divAlpha = diversity_alpha_fun(data = data, output = "./plot_div_alpha/", column1 = "souche", column2 = "temps",
                    column3 = "", supcovs = "", measures = c("Shannon") )

ggplotly(divAlpha$plot) %>%
  layout(boxmode = "group")
  • ANOVA
divAlpha$anova
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## Depth        1  1.777   1.777  10.098  0.00473 ** 
## souche       1  0.520   0.520   2.955  0.10103    
## temps        1  5.141   5.141  29.218 2.73e-05 ***
## Residuals   20  3.519   0.176                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
  • Pairwise Wilcox Test p-value
divAlpha$wilcox
##             mutant_t0 mutant_t50 sauvage_t0
## mutant_t50      0.002         NA         NA
## sauvage_t0      0.132      0.002         NA
## sauvage_t50     0.002      0.310      0.002

3 Beta diversité

3.1 BrayCurtis Distance

  • MDS/PCoA ordination:
res1 = diversity_beta_light(data, col = "souche", cov="temps", dist0 = "bray", ord0 = "MDS", output="./plot_div_beta/", tests = TRUE)

res2 = diversity_beta_light(data, col = "souche_temps", dist0 = "bray", ord0 = "MDS", output="./plot_div_beta/", tests = TRUE)
ggplotly(res1$plot)
ggplotly(res2$plot)
  • Test permanova:
res1$permanova
## 
## Call:
## adonis(formula = as.formula(paste("dist1 ~ Depth +", paste(cov1,      collapse = "+"), "+", col)), data = mdata, permutations = 1000) 
## 
## Permutation: free
## Number of permutations: 1000
## 
## Terms added sequentially (first to last)
## 
##           Df SumsOfSqs MeanSqs F.Model      R2   Pr(>F)    
## Depth      1    0.5075 0.50751  3.1218 0.06845 0.010989 *  
## temps      1    2.1846 2.18458 13.4380 0.29463 0.000999 ***
## souche     1    1.4711 1.47112  9.0493 0.19841 0.000999 ***
## Residuals 20    3.2514 0.16257         0.43851             
## Total     23    7.4146                 1.00000             
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
  • Test pairwise permanova:
res1$pairwisepermanova
##               pairs Df SumsOfSqs  F.Model        R2 p.value p.adjusted sig
## 1 sauvage vs mutant  1  1.529137 5.715979 0.2062341   0.001      0.001  **
  • NMDS ordination:
res2 = invisible(diversity_beta_light(data, col = "souche_temps", dist0 = "bray", ord0 = "NMDS", output="./plot_div_beta/", tests = TRUE))
ggplotly(res2$plot)

4 Analyses differentielles

4.1 Metacoder

out1 = metacoder_fun(data = data, output = "./metacoder", column1 = "souche_temps", rank = "Family", signif = TRUE, plottrees = TRUE, min ="10", comp = "sauvage_t50~mutant_t50,sauvage_t0~mutant_t0")
  • Table
 DT::datatable(out1$table, filter = "top", options = list(scrollX = TRUE))
  • Comparaison 1
 out1$sauvage_t0_vs_mutant_t0$plot

  • Comparaison 2
 out1$sauvage_t50_vs_mutant_t50$plot

4.2 DESeq2

#fig.keep='all', fig.align='left', fig.width = 15, fig.height = 10
out2 = deseq2_fun(data = data, output = "./deseq/", column1 = "souche_temps", verbose = 1, rank = "Family", comp = "sauvage_t50~mutant_t50,sauvage_t0~mutant_t0")
ggplotly(out2$sauvage_t50_vs_mutant_t50$plot)
DT::datatable(out2$sauvage_t50_vs_mutant_t50$table, filter = "top", options = list(scrollX = TRUE))

4.3 MetagenomeSeq

out3 = metagenomeseq_fun(data = data, output = "./metagenomeseq/", column1 = "souche_temps", verbose = 1, rank = "Family", comp = "sauvage_t50~mutant_t50,sauvage_t0~mutant_t0")
ggplotly(out3$sauvage_t50_vs_mutant_t50$plot)
DT::datatable(out3$sauvage_t50_vs_mutant_t50$table, filter = "top", options = list(scrollX = TRUE))

4.4 Aggregate methods

resF = aggregate_fun(data = data, metacoder = "./metacoder/metacoder_signif_Family.csv", deseq = "./deseq/", mgseq = "./metagenomeseq/", output = "./aggregate_diff/", column1 = "souche_temps", column2 = NULL, verbose = 1, rank = "Genus", comp = "sauvage_t50~mutant_t50,sauvage_t0~mutant_t0")
ggplotly(resF$sauvage_t0_vs_mutant_t0$plot)
ggplotly(resF$sauvage_t50_vs_mutant_t50$plot)
DT::datatable(resF$table, filter = "top", options = list(scrollX = TRUE))